﻿//using ModulA;
//using ModulB;
using Prism.DryIoc;
using Prism.Ioc;
using Prism.Modularity;
using System.Configuration;
using System.Data;
using System.Windows;
using WpfForPrism模块.Views;

namespace WpfForPrism模块
{
    /// <summary>
    /// Interaction logic for App.xaml
    public partial class App : PrismApplication
    {
        /// <summary>
        /// 设置启动页面
        /// </summary>
        protected override Window CreateShell()
        {
            return Container.Resolve<MainWindow>();
        }

        /// <summary>
        /// 进行依赖注入
        /// </summary>
        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {

        }

        /// <summary>
        /// 配置模块，通过代码的方式
        /// </summary>
        /// <param name="moduleCatalog"></param>
        //protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
        //{
        //    moduleCatalog.AddModule<ModuleAProfile>();
        //    moduleCatalog.AddModule<ModuleBProfile>();
        //    base.ConfigureModuleCatalog(moduleCatalog);
        //}

        //通过配置文件的方式实现模块配置
        protected override IModuleCatalog CreateModuleCatalog()
        {
            //注：在.net应用程序下，默认的工作路径是bin/debug，而不是物理位置，所以要确定 Modules 要生成在工作路径下
            //因此要配置属性，设置资源更新为总是，或较新则复制。
            return new DirectoryModuleCatalog() { ModulePath = @".\Modules" };//指定相对路径
        }
    }


}
